package ejemplo_1.negocio;

import java.util.ArrayList;
import java.util.Iterator;

import ejemplo_1.bean.AlumnoVO;
import ejemplo_1.bean.ProfesorVO;
import ejemplo_1.bean.MateriaVO;

public class Profesor {

	private int numeroLegajo;
	private String nombre;
	private Direccion direccion;
	private ArrayList<Materia> materia;
	
	//Constructor
	public Profesor(int numeroLegajo, String nombre, Direccion direccion, ArrayList<Materia> materia) {
		super();
		this.numeroLegajo = numeroLegajo;
		this.nombre = nombre;
		this.direccion = direccion;
		this.materia = materia;
	}
	
	public Profesor() {
	}
	
	//GET & SET
	public int getNumeroLegajo() {
		return numeroLegajo;
	}
	public void setNumeroLegajo(int numeroLegajo) {
		this.numeroLegajo = numeroLegajo;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public Direccion getDireccion() {
		return direccion;
	}
	public void setDireccion(Direccion direccion) {
		this.direccion = direccion;
	}
	public ArrayList<Materia> getMateria() {
		return materia;
	}
	public void setMateria(ArrayList<Materia> materia) {
		this.materia = materia;
	}
	
	//NEGOCIO
	public void AgregarMateria(Materia m){
		
	}
	
	public void EliminarMateria(Materia m){
	}
	
	public ProfesorVO toView(){
		ProfesorVO auxProf = new ProfesorVO(this.getNumeroLegajo(), this.getNombre(), this.getDireccion().toView());
		Materia auxMateria = new Materia();
		MateriaVO auxMateriaVO = new MateriaVO();
		for(Iterator<Materia> i=this.getMateria().iterator();i.hasNext();)
		{
			auxMateria = i.next();	
			auxMateriaVO = auxMateria.toView();
			auxProf.getMateria().add(auxMateriaVO);
		}
		return auxProf;
	}
	
	public Profesor toBusiness(ProfesorVO p){
		Profesor auxProf = new Profesor();
		auxProf.setNombre(p.getNombre());
		auxProf.setNumeroLegajo(p.getNumeroLegajo());
		MateriaVO auxMateriaVO = new MateriaVO();
		Materia auxMateria = new Materia();
		for(Iterator<MateriaVO> i=p.getMateria().iterator();i.hasNext();)
		{
			auxMateriaVO = i.next();	
			auxMateria = auxMateria.toBusiness(auxMateriaVO);
			auxProf.getMateria().add(auxMateria);
		}
		Direccion auxDir = new Direccion();
		auxDir = auxDir.toBusiness(p.getDireccion());
		auxProf.setDireccion(auxDir);
		return auxProf;
	}
	
}
